﻿using NUnit.Framework;
using System.Collections.Generic;
namespace ThunkC_.Collections_
{
    #region Sample
    /// <summary>
    /// 
    /// </summary>
    public class SampleComparer : Comparer<string>
    {
        public override int Compare(string x, string y)
        {
            return 0;
        }
    }
    #endregion Sample

    /// <summary>
    /// ComparerFixture
    /// </summary>
    [TestFixture]
    public class ComparerFixture
    {
        [Test]
        public void Constructor_Valid_NotNull()
        {
            var comparer = new SampleComparer();
            Assert.IsNotNull(comparer);
        }

        [Test]
        public void Compare_Valid_EqualsZero()
        {
            var comparer = new SampleComparer();
            Assert.AreEqual(0, comparer.Compare("test", "test"));
        }

        [Test]
        public void getDefault_Valid_NotNull()
        {
            Assert.IsNotNull(Comparer<string>.Default);
        }

        //[Test]
        //public void Equals_Valid_EqualsTrue()
        //{
        //    var comparer = new SampleComparer();
        //    Assert.IsTrue(comparer.Equals(comparer));
        //}

        //[Test]
        //public void GetHashCode_Valid_NotEqualsZero()
        //{
        //    var comparer = new SampleComparer();
        //    Assert.AreNotEqual(0, comparer.GetHashCode());
        //}

        //[Test]
        //public void GetType_Valid_SameAsSampleComparerType()
        //{
        //    var comparer = new SampleComparer();
        //    Assert.AreSame(comparer.GetType(), typeof(SampleComparer));
        //}

        //[Test]
        //public void ToString_Valid_EqualsSampleComparerTypeAsText()
        //{
        //    var comparer = new SampleComparer();
        //    Assert.AreEqual("ThunkC_.Collections_.SampleComparer", comparer.ToString());
        //}
    }
}
